<?php

namespace App\Http\Controllers\Admin;

use App\Http\Requests\Admin\JobTemplate\CreateRequest;
use App\Models\Admin\CompanyJobTemplate;
use App\Models\Common\CollPosition;
use Illuminate\Http\Request;
use Style;

class CompanyJobTemplateController extends CommonController{
    /**
     * 显示岗位模板
     * @return mixed
     */
    public function index(Request $request){
        $input = arrayFilter($request->only(['keyword']));
        $companyJobTemplate = CompanyJobTemplate::
        where(function($query) use ($input){
            $keyword = (!empty($input['keyword'])) ? $input['keyword'] : '';
            if(strlen($keyword) > 0){
                $query->where('job_name', 'like', '%' . $keyword . '%');
            }
        })
            ->orderBy('updated_at', 'desc')
            ->paginate(20);
//        dd($input);
        foreach($companyJobTemplate as $v){
            //工地岗位
            $jobsort1 = (!empty($v->jobsort1)) ? CollPosition::getPosName($v->jobsort1) : '';
            $jobsort2 = (!empty($v->jobsort2)) ? CollPosition::getPosName($v->jobsort2) : '';
            $jobsort3 = (!empty($v->jobsort3)) ? CollPosition::getPosName($v->jobsort3) : '';
            $jobsort4 = (!empty($v->jobsort4)) ? CollPosition::getPosName($v->jobsort4) : '';
            $jobsort5 = (!empty($v->jobsort5)) ? CollPosition::getPosName($v->jobsort5) : '';
            $v->jobsort = trim($jobsort1 . '+' . $jobsort2 . '+' . $jobsort3 . '+' . $jobsort4 . '+' . $jobsort5, '+');
        }
        return Style::view('admin.job_template.index', compact('companyJobTemplate'));
    }

    


    /**
     * 添加岗位模板
     * @return mixed
     */
    public function create(){
        return Style::view('admin.job_template.create');
    }

    /**
     * 添加岗位模板提交
     * @param CreateRequest $request
     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
     */
    public function store(CreateRequest $request){
        $input = $request->only(['job_name', 'jobsort1', 'jobsort1', 'jobsort2', 'jobsort3', 'jobsort4', 'jobsort5', 'description']);
        $result = CompanyJobTemplate::create($input);
        if($result){
            flash('添加岗位模板管理成功', 'success');
            return redirect('admin/job_template');
        }else{
            return back()->with('errors', '岗位模板管理添加失败，请稍后重试！');
        }
    }

    /**
     * @param $id
     */
    public function show($id){
    }

    /**
     * 编辑岗位模板
     * @param $id
     * @return mixed
     */
    public function edit($id){
        $companyJobTemplate = CompanyJobTemplate::find($id);
        $jobsort1 = (!empty($companyJobTemplate->jobsort1)) ? CollPosition::getPosName($companyJobTemplate->jobsort1) : '';
        $jobsort2 = (!empty($companyJobTemplate->jobsort2)) ? CollPosition::getPosName($companyJobTemplate->jobsort2) : '';
        $jobsort3 = (!empty($companyJobTemplate->jobsort3)) ? CollPosition::getPosName($companyJobTemplate->jobsort3) : '';
        $jobsort4 = (!empty($companyJobTemplate->jobsort4)) ? CollPosition::getPosName($companyJobTemplate->jobsort4) : '';
        $jobsort5 = (!empty($companyJobTemplate->jobsort5)) ? CollPosition::getPosName($companyJobTemplate->jobsort5) : '';
        $companyJobTemplate->jobsort = trim($jobsort1 . '+' . $jobsort2 . '+' . $jobsort3 . '+' . $jobsort4 . '+' . $jobsort5, '+');
        return Style::view('admin.job_template.edit', compact('companyJobTemplate'));
    }

    /**
     * 更新岗位模板
     * @param UpdateRequest $request
     * @param $id
     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
     */
    public function update(CreateRequest $request, $id){

        $input = $request->only(['job_name', 'jobsort1', 'jobsort1', 'jobsort2', 'jobsort3', 'jobsort4', 'jobsort5', 'description']);
        $result = CompanyJobTemplate::where('id', $id)->update($input);
        if($result){
            flash('更新岗位模板管理成功', 'success');
            return redirect('admin/job_template');
        }else{
            return back()->with('errors', '更新前和更新后数据相同，更新失败！！');
        }
    }

    /**
     * 删除岗位模板
     * @param $id
     * @return \Illuminate\Http\JsonResponse
     */
    public function destroy($id){
        $result = CompanyJobTemplate::where('id', $id)->delete();
        if($result){
            return response()->json(['status' => 0, 'msg' => '删除岗位模板管理成功！']);
        }else{
            return response()->json(['status' => 1, 'msg' => '删除岗位模板管理失败，请稍后重试！']);
        }
    }
}
